home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 25
/
Cream of the Crop 25.iso
/
bbs
/
randutl.zip
/
RANDGEN.DOC
< prev
next >
Wrap
Text File
|
1997-01-13
|
16KB
|
387 lines
RANDGEN V1.2a 7/31/95
RANDGEN is a tool for RANDMAX user. If you don't know what randmax is then
RANDGEN will do nothing for you (except causing headaches :-)
RANDGEN is freeware. You may upload it to any bbs or distribute it on the
internet as long as it serves no commercial purpose.
RANDMAX is written by Steffen Pietsch and manages your planets :
It randomizes friendly codes, taxes your natives and builds factories
and mines according to an ini file.
RANDMAX and RANDGEN are utilities for VGA Planets, a multiplayer strategy game
written by Tim Wisseman.
Purpose
=======
I use randmax to manage all my planets. However, it takes a lot of time to
set up a randmax.ini and it is rather annoying to change your ini whenever
you colonize or conquer a new planet. So I thought it would be a good idea
to make a program that generates a randmax.ini for me.
It may also be useful if you host a game and you have to make a few
caretaker turns because you are looking for a replacement player.
Getting started
===============
If you are familar with RANDMAX then just start RANDGEN (as parameter the
directory where your game data is). It will update your existing
randmax.ini, i.e. it will add a 'second-section' order for all planets that
have no 'second-section' order. The old randmax.ini will be renamed to
randmax.bak
Please read the section "PHOST and HOST v3.2" if you play with one of these
host versions.
Version
=======
This is version v1.2a.
It will work with randmax v2.d1 or later.
New in version v1.2 :
- new defaults :
MINETURNS 25 (instead of 30)
nth 40 (instead of 70)
DEFENSE 20 (instead of 0)
- "auto change" (randmax special orders are automatically updated)
related -a and -f switches
- fixed problems :
(1) Unowned planets get a randmax.ini entry with the race characteristics
of the race that scans the planet. Earlier randgen versions did
generate an entry that didn't take into account race-specific tax and
mining rates.
(2) The maximum number of mines and factories on planets with valuable
natives was not correctly calculated if there were mines and factories
on the planet. Note that there is a new method to calculate the max
factory/mine number.
New in version 1.1 :
- -d switch for maximum defense
- mnt 20/ mct 20 lines for Borg planets
Usage
=====
randgen [DIRECTORY] [options]
where options are
-pNN : generate only for player NN
-n : generate new randmax.ini (old will be renamed to randmax.bak)
-a : disable auto change (update of section 2 in randmax.ini)
-f : force auto change of ALL section 2 entries in randmax.ini
-dNNN : add a defense order (dNNN) to every planet
-tNNN : taxrate NNN (default 100)
-mNNN : miningrate NNN (default 100)
-iNNN : income limit for factory maximization (default 170)
-rNNN : income limit for mine reduction (default 40)
-oNNN : time to outmine a planet (default 30) [default 25!]
-gNNN : turns number for population calculation (see below, default 30)
-sNN : safetax limit for growth method taxation (default 3)
Example :
randgen GAME1 -d50 -t150 -o50 -n
will generate a NEW randmax.ini in the directory GAME1 and use a taxrate of
150%. It will also add a 'd50' command on every planet and use an
'outmine' time of 50 turns (see below).
Note to the auto change :
RANDGEN will change section 2 entries in randmax.ini. This is useful if
small meteors strike, natives appear and in several other cases. Entries
in sections 1 and 3 are not changed. For description of these sections see
randmax.doc.
There is no update of the mines and factories for planets with valuable
natives (where factories are not maximized). The only how these numbers
could change is through terraforming (with a different maximum native
limit), and auto update here would lead to an increase of the maximum
factory/mine number by 160-170 every turn which is exactly what we want to
avoid on such a planet :-)
If you don't like this then turn it off with the -a switch.
If you want an update of all planets, even the ones with valuable natives,
then use the -f switch.
If both -a and -f switches are specified then the first of them will be in
use.
PHOST and HOST v3.2
===================
There are some things you should keep in mind if you play with these
host versions.
HOST has a 20% tax limit for Borg planets (except for Avians). If you
tax higher than 20% the happiness will decrease normally but you get no
extra money. Therefore RandGen inserts these limits into the third
section of RandMax.INI ("mnt 20" and "mct 20"). PHOST has no such limit
so you can delete these orders if you play Borg in a PHOSTed game.
All HOST v3.2 versions (both HOST and PHOST) have a configurable maximum
income per planet. Future RandMax versions will support this limit so
make sure that you add the appropriate line into the third section of
RandMax.INI.
How does it work ?
==================
General
~~~~~~~
RANDGEN will scan your planet data and your RandMax.INI. If it finds a
planet that has no special order (in the second section) then it will
generate a special order for this planet and add it to RandMax.INI.
If you select the /n switch then randgen will rename an existing RandMax.INI
to RandMax.BAK and generate a completely new RandMax.INI.
The special order for the planet depends on the mineral content and the
natives living on it. RANDGEN will try to order enough mines to get the
minerals out of the planet core in a reasonable time but RANDGEN will
also be careful to build not too many mines in order to keep the natives
happy.
The parameters
~~~~~~~~~~~~~~
Here is an explaination for the possible command line parameters.
MINETURNS : RandGen will order enough mines to outmine the planet in
MINETURNS turns. Please note that usually the mineral with
the lowest density determines the required number of mines
so most minerals will be mined out a lot earlier (at least
if you have enough colonists to build the required number
of mines). The default value is 30 turns. You control
MINETURNS with the /o switch.
MINEINCOME : If your planet has valuable natives then you might want to
build fewer mines in order to avoid making them upset. If
you get more tax at 1% taxrate than MINEINCOME then RANDGEN
will reduce the number of mines. Use the /r switch to
change the default of 40 MC.
NOFACT : Usually it makes sense to maximize your factories because
you will get more money if you build the factories and sell
the supplies instead of taking the 1 or 2 percent more tax
that you can get if you build no factories. However, a few
natives are valuable enough so that it's useful to build no
factories at all. I call this limit NOFACT and the default
value is 170 (because you have to go down 1% for every 170
factories you build). Change this value with the /i
switch.
GROWTURNS : Imagine you have a nice warm planet with few but good
natives. On the one hand you can let them grow for some
turns. After that growth period they may be over the
MINEINCOME or NOFACT value and you want to build only few
or no mines and factories. On the other hand you may have
only very few natives and they would take a very long time
to grow to a number that justifies it to build few mines or
factories. So I decided to introduce the parameter that
works like this : I calculate the income per tax% (to
compare it with MINEINCOME and NOFACT) for the population
that you would get if you let your natives grow (0% tax)
for GROWTURNS turns. The default is 30 and you can change
it with the /g switch.
SAFETAX : RandMax offers you to tax the natives with a growth method
("n") or at 'safetax' ("t", the highest possible tax rate
without decreasing the native happiness). If the safetax
rate is low then you will lose a lot of money if you tax
the natives with the growth method (a result of Tims
rounding). If you have a high safetax then the increased
growth will make up very soon for the lost money. The
SAFETAX switch decides how to tax the natives : if the
safetax rate is lower or equal to SAFETAX then RANDGEN will
tell randmax to use safetax. If the safetax rate is higher
then RANDGEN will order randmax to use the growth method.
The default value is 3, configurable with the /s switch.
TAXRATE/MININGRATE
Usually RandGen will assume the default tax rates and
mining rates, i.e. 200% tax, 70% mining for Feds and 200%
mining for Lizards. If you select a different
tax/miningrate you do not only change the rates, you also
force randgen to use this value for all races.
Details
~~~~~~~
Here is how RANDGEN makes a special order for a certain planet :
First RANDGEN figures out the number of mines that you need to get all
minerals out of the core in MINETURNS turns.
If there are no natives living on the planet then RANDGEN will order
this number of mines plus maximum factories (even if you have 10 million
colonists it's still better to build factories because you need to
decrease the tax by 1 % for every 240 factories you build. 240
factories give you 240 MC but 10 million colonists give you just 100 MC
for 1% tax.
(Note that the factory influence is different for natives and colonists.
You need to reduce the native tax by 1% for every 170 mines or factories
instead of 240 for colonists.)
If natives are living on the planet then RANDGEN will check if it is
worth to reduce the number of factories and mines (only if you are not
the Cyborg). Keep in mind that you have to lower the taxrate by 1% for
every 170 factories or mines you build. If you get 100 MC for every
percent tax then you lose 100 MC income per turn if you build 170 mines.
Once the planet is mined out you still lose the 100 MC per turn but get
nothing for it.
So RANDGEN figures out how much money you will get for _1_ tax percent
if you let the natives grow for GROWTURNS turns. I call this value the
INCOME.
If the INCOME is higher than MINEINCOME then RANDGEN will reduce the
mines by the factor MINEINCOME/INCOME. Additionally the maximum number
of mines is 200*MINEINCOME/INCOME. So the more money you can get the
fewer mines RANDGEN will build. However, if INCOME is lower than NOFACT
then RANDGEN will still order the maximum number of factories ("f").
If INCOME is even higher than NOFACT then RANDGEN will try to keep the
number of factories and mines as low as possible. How low is 'as low as
possible'? Well, everything depends on the rounding in Tim's formulas.
There is a number of mines and factories that you can build without
losing money ( = be forced to go down by 1%) but if you build just one
factory or mine more then you have to decrease the taxrate.
RANDGEN calculates the possible population maximum (depending on the
climate) and figures out this number. So you can take as much tax at
maximum population as if you have no mines and factories at all. If you
should have already more factories and mines than this number then
RANDGEN will calculate the number for the highest possible taxrate at
maximum population. Since it doesn't matter if you build factories or
mines RANDGEN will split these number between the mines and factories
depending on existing structures and mineral content (low minerals cause
low mine numbers).
The mine and factory numbers are cut to the highest possible multiple of
10 (to get nice looking planets :-).
After that RANDGEN decides how to tax natives :
If you have a high safetax value (the tax rate at which the happiness
remains constant) then it's better to tax the natives with the growth
method ("n"). If you have a low safetax (<4) then it is more useful to
tax at safetax ("t") because you will lose a lot of money if you tax the
natives with the growth method (also a result of Tims rounding). BTW
RANDGEN will tax Boviniods always with the 'growth' - method.
RANDGEN won't let the natives grow on Cyborg planets, it will always try
to get as much money out of them as possible ('t40').
Notes
=====
- If no -n switch is given then randgen will keep the first and third
section in the existing randmax.ini.
- RandGen will always change existing special orders, EXCEPT orders
where a number follows the factory build order (f???). This is
because these numbers won't be changed anyway and if you terraform
you'll hurt your income by building more factories and mines than
necessary if such an order is changed.
- defense doesn't influence the happiness of natives and colonists
Related Formulas
================
Maximum mines/factories/defense
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maxmines = 200+sqrt(clans-200) (or number of clans if clans<200)
maxfactories = 100+sqrt(clans-100) (or number of clans if clans<100)
maxdefense = 50+sqrt(clans-50) (or number of clans if clans<50)
Maximum population
~~~~~~~~~~~~~~~~~~
maxcolonists = 10,000,000*sin(temperature*pi/100)
maxcolonists = 10,000,000*(temp/100) (only Crystals with 'Crystals like desert')
maxnatives = 15,600,000*sin(temperature*pi/100) (approx)
Growth
~~~~~~
I figured them out with host314. These formulas were different with host300f,
so if you use an older host version you will get a different growth.
Colonist_Growth%=5*sin(temperature*pi/100)/(1+tax_rate/5)
The growth is cut to 0 if
(a) the happiness is lower than 70
(b) the temperature is arctic or desert (<16 or >84)
(c) the maximum population would be exceeded at the current growth rate
Native_Growth%=4*sin(temperature*pi/100)/(1+tax_rate/5)
The growth is cut to 0 if
(a) the happiness is lower than 70
(b) the maximum population would be exceeded at the current growth rate
If you play the Crystallines and the 'crystals like desert' switch is on you
will get different growth rates for your colonists :
growth%=(temperature/20)/(1+tax_rate/5)
Happiness
~~~~~~~~~
Natives :
happy_change=trunc(5+native_government/2-sqrt(natives/1.000.000)
- (mines+factories)/200 - tax*.85)
Colonists :
happy_change=trunc(10-sqrt(colonists/1.000.000)-(mines+factories)/300
- tax*.8 - abs(temp-50)/33)
Disclaimer of warranties
========================
RANDGEN is not warranted in any way. If you use it you use it at your
own risk. The author is not liable for any damage or loss of data that
may occur during regular usage of RANDGEN.
Author's note
=============
If you have suggestions or if you find bugs then please contact me via
email :
spock@berlin.snafu.de (preferred)
voigtgob@cs.tu-berlin.de (if you can't reach me at snafu)
You can reach the author of RANDMAX, Steffen Pietsch, at :
neffets@cs.tu-berlin.de
Thomas Voigt
---------- *** ----------